'\" t
.\"     Title: ctdb.conf
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 03/09/2023
.\"    Manual: CTDB - clustered TDB database
.\"    Source: ctdb
.\"  Language: English
.\"
.TH "CTDB\&.CONF" "5" "03/09/2023" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ctdb.conf \- CTDB configuration file
.SH "DESCRIPTION"
.PP
This file contains CTDB configuration options that affect the operation of CTDB daemons and command\-line tools\&. The default location of this file is
/usr/local/etc/ctdb/ctdb\&.conf\&.
.PP
Note that this is a Samba\-style configuration file, so it has a very different syntax to previous CTDB configuration files\&.
.PP
For event script options please see
\fBctdb-script.options\fR(5)\&.
.PP
Configuration options are grouped into several sections below\&. There are only a few options in each section, allowing them to be ordered (approximately) in decreasing order of importance\&.
.SH "LOGGING CONFIGURATION"
.PP
Options in this section control CTDB\*(Aqs logging\&. They are valid within the
\fIlogging\fR
section of file, indicated by
[logging]\&.
.PP
log level = \fILOGLEVEL\fR
.RS 4
LOGLEVEL is a string that controls the verbosity of ctdbd\*(Aqs logging\&. See the
LOG LEVELS
section in
\fBctdb\fR(7)
for more details\&.
.sp
Default:
NOTICE
.RE
.PP
location = \fISTRING\fR
.RS 4
STRING specifies where ctdbd will write its log\&.
.sp
Valid values are:
.PP
file:\fIFILENAME\fR
.RS 4
FILENAME where ctdbd will write its log\&. This is usually
/usr/local/var/log/log\&.ctdb\&.
.RE
.PP
syslog[:\fIMETHOD\fR]
.RS 4
CTDB will log to syslog\&. By default this will use the syslog(3) API\&.
.sp
If METHOD is specified then it specifies an extension that causes logging to be done in a non\-blocking fashion\&. This can be useful under heavy loads that might cause the syslog daemon to dequeue messages too slowly, which would otherwise cause CTDB to block when logging\&. METHOD must be one of:
.PP
nonblocking
.RS 4
CTDB will log to syslog via
/dev/log
in non\-blocking mode\&.
.RE
.PP
udp
.RS 4
CTDB will log to syslog via UDP to localhost:514\&. The syslog daemon must be configured to listen on (at least) localhost:514\&. Most implementations will log the messages against hostname "localhost" \- this is a limit of the implementation for compatibility with more syslog daemon implementations\&.
.RE
.PP
udp\-rfc5424
.RS 4
As with "udp" but messages are sent in RFC5424 format\&. This method will log the correct hostname but is not as widely implemented in syslog daemons\&.
.RE
.RE
.sp
Default: file:/usr/local/var/log/log\&.ctdb
.RE
.SH "CLUSTER CONFIGURATION"
.PP
Options in this section affect the CTDB cluster setup\&. They are valid within the
\fIcluster\fR
section of file, indicated by
[cluster]\&.
.PP
cluster lock = \fILOCK\fR
.RS 4
LOCK specifies the cluster\-wide mutex used to detect and prevent a partitioned cluster (or "split brain")\&.
.sp
For information about the cluster lock please see the
CLUSTER LOCK
section in
\fBctdb\fR(7)\&.
.sp
Default: NONE\&. However, uses of a cluster lock is
\fIstrongly recommended\fR\&.
.RE
.PP
leader capability = true|false
.RS 4
Indicates whether a node can become the leader for the cluster\&. If this is set to
false
then the node will not be able to become the leader for the cluster\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
.sp
Please see the
REMOTE CLUSTER NODES
section in
\fBctdb\fR(7)
for more information\&.
.sp
Default:
true
.RE
.PP
leader timeout = \fISECONDS\fR
.RS 4
Number of SECONDS without a leader broadcast before a node triggers an election\&.
.sp
Default:
5
.RE
.PP
node address = \fIIPADDR\fR
.RS 4
IPADDR is the private IP address that ctdbd will bind to\&.
.sp
This option is only required when automatic address detection can not be used\&. This can be the case when running multiple ctdbd daemons/nodes on the same physical host (usually for testing), using InfiniBand for the private network or on Linux when sysctl net\&.ipv4\&.ip_nonlocal_bind=1\&.
.sp
Default: CTDB selects the first address from the nodes list that it can bind to\&. See also the
PRIVATE ADDRESS
section in
\fBctdb\fR(7)\&.
.RE
.PP
transport = tcp|ib
.RS 4
This option specifies which transport to use for ctdbd internode communications on the private network\&.
.sp
ib
means InfiniBand\&. The InfiniBand support is not regularly tested\&. If it is known to be broken then it may be disabled so that a value of
ib
is considered invalid\&.
.sp
Default:
tcp
.RE
.SH "DATABASE CONFIGURATION"
.PP
Options in this section affect the CTDB database setup\&. They are valid within the
\fIdatabase\fR
section of file, indicated by
[database]\&.
.PP
volatile database directory = \fIDIRECTORY\fR
.RS 4
DIRECTORY on local storage where CTDB keeps a local copy of volatile TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
.sp
Mounting a tmpfs (or similar memory filesystem) on this directory can provide a significant performance improvement when there is I/O contention on the local disk\&.
.sp
Default:
/usr/local/var/lib/ctdb/volatile
.RE
.PP
persistent database directory=\fIDIRECTORY\fR
.RS 4
DIRECTORY on local storage where CTDB keeps a local copy of persistent TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
.sp
Default:
/usr/local/var/lib/ctdb/persistent
.RE
.PP
state database directory = \fIDIRECTORY\fR
.RS 4
DIRECTORY on local storage where CTDB keeps a local copy of internal state TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
.sp
Default:
/usr/local/var/lib/ctdb/state
.RE
.PP
tdb mutexes = true|false
.RS 4
This parameter enables TDB_MUTEX_LOCKING feature on volatile databases if the robust mutexes are supported\&. This optimizes the record locking using robust mutexes and is much more efficient that using posix locks\&.
.sp
If robust mutexes are unreliable on the platform being used then they can be disabled by setting this to
false\&.
.RE
.PP
lock debug script = \fIFILENAME\fR
.RS 4
FILENAME is a script used by CTDB\*(Aqs database locking code to attempt to provide debugging information when CTDB is unable to lock an entire database or a record\&.
.sp
This script should be a bare filename relative to the CTDB configuration directory (/usr/local/etc/ctdb/)\&. Any directory prefix is ignored and the path is calculated relative to this directory\&.
.sp
CTDB provides a lock debugging script and installs it as
/usr/local/etc/ctdb/debug_locks\&.sh\&.
.sp
Default: NONE
.RE
.SH "EVENT HANDLING CONFIGURATION"
.PP
Options in this section affect CTDB event handling\&. They are valid within the
\fIevent\fR
section of file, indicated by
[event]\&.
.PP
debug script = \fIFILENAME\fR
.RS 4
FILENAME is a script used by CTDB\*(Aqs event handling code to attempt to provide debugging information when an event times out\&.
.sp
This script should be a bare filename relative to the CTDB configuration directory (/usr/local/etc/ctdb/)\&. Any directory prefix is ignored and the path is calculated relative to this directory\&.
.sp
CTDB provides a script for debugging timed out event scripts and installs it as
/usr/local/etc/ctdb/debug\-hung\-script\&.sh\&.
.sp
Default: NONE
.RE
.SH "FAILOVER CONFIGURATION"
.PP
Options in this section affect CTDB failover\&. They are valid within the
\fIfailover\fR
section of file, indicated by
[failover]\&.
.PP
disabled = true|false
.RS 4
If set to
true
then public IP failover is disabled\&.
.sp
Default:
false
.RE
.SH "LEGACY CONFIGURATION"
.PP
Options in this section affect legacy CTDB setup\&. They are valid within the
\fIlegacy\fR
section of file, indicated by
[legacy]\&.
.PP
ctdb start as stopped = true|false
.RS 4
If set to
true
CTDB starts in the STOPPED state\&.
.sp
To allow the node to take part in the cluster it must be manually continued with the
\fBctdb continue\fR
command\&.
.sp
Please see the
NODE STATES
section in
\fBctdb\fR(7)
for more information about the STOPPED state\&.
.sp
Default:
false
.RE
.PP
start as disabled = true|false
.RS 4
If set to
true
CTDB starts in the DISABLED state\&.
.sp
To allow the node to host public IP addresses and services, it must be manually enabled using the
\fBctdb enable\fR
command\&.
.sp
Please see the
NODE STATES
section in
\fBctdb\fR(7)
for more information about the DISABLED state\&.
.sp
Default:
false
.RE
.PP
realtime scheduling = true|false
.RS 4
Usually CTDB runs with real\-time priority\&. This helps it to perform effectively on a busy system, such as when there are thousands of Samba clients\&. If you are running CTDB on a platform that does not support real\-time priority, you can set this to
false\&.
.sp
Default:
true
.RE
.PP
lmaster capability = true|false
.RS 4
Indicates whether a node can become a location master for records in a database\&. If this is set to
false
then the node will not be part of the vnnmap\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
.sp
Please see the
REMOTE CLUSTER NODES
section in
\fBctdb\fR(7)
for more information\&.
.sp
Default:
true
.RE
.PP
script log level = \fILOGLEVEL\fR
.RS 4
This option sets the debug level of event script output to LOGLEVEL\&.
.sp
See the
DEBUG LEVELS
section in
\fBctdb\fR(7)
for more information\&.
.sp
Default:
ERROR
.RE
.SH "FILES"
.RS 4
/usr/local/etc/ctdb/ctdb\&.conf
.RE
.SH "SEE ALSO"
.PP
\fBctdbd\fR(1),
\fBonnode\fR(1),
\fBctdb.sysconfig\fR(5),
\fBctdb-script.options\fR(5),
\fBctdb\fR(7),
\fBctdb-tunables\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "AUTHOR"
.br
.PP
This documentation was written by Amitay Isaacs, Martin Schwenke
.SH "COPYRIGHT"
.br
Copyright \(co 2007 Andrew Tridgell, Ronnie Sahlberg
.br
.PP
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
.PP
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
.PP
You should have received a copy of the GNU General Public License along with this program; if not, see
\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
.sp
